package br.com.cast.scc.pages.veiculo;

import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.form.DropDownChoice;

import br.com.cast.scc.model.DominioTipoVeiculo;


/**
 * Controla o que deverá ser apresentado de acordo 
 * com a seleção do tipo de veiculo
 * @author matheus.souza
 *
 */
public class ControleVisbilidadeCamposVeiculo 
	extends Behavior {

	private static final long serialVersionUID = 1L;
	private DropDownChoice<DominioTipoVeiculo> tipoVeiculo;
	private WebMarkupContainer panelCamposTerrestres;
	private WebMarkupContainer panelCamposFluviais;
	
	public ControleVisbilidadeCamposVeiculo(
			DropDownChoice<DominioTipoVeiculo> tipoVeiculo
			, WebMarkupContainer panelCamposTerrestres
			, WebMarkupContainer panelCamposFluviais) {
		this.tipoVeiculo = tipoVeiculo;
		this.panelCamposTerrestres = panelCamposTerrestres;
		this.panelCamposFluviais = panelCamposFluviais;
	}
	
	@Override
	public void onConfigure(Component component) {
		
		DominioTipoVeiculo tipo = (DominioTipoVeiculo) 
				tipoVeiculo.getDefaultModelObject();
		
		//caso a opção escolha seja escolhida
		if (tipo == null) {
			return;
		}
		
		boolean isTerrestre = tipo.getCodigo()
				.equals(DominioTipoVeiculo.COD_TERRESTRE);
		
		panelCamposTerrestres.setVisible(isTerrestre);
		panelCamposFluviais.setVisible(!isTerrestre);
	}

}
